Mesh networking is a way to route data and instructions between nodes. A node can be any device connected to a computer network. Nodes can be computers, routers, or various other networked devices. On a TCP/IP network, a node is any device with an Internet Protocol (IP) address. Mesh networking allows for continuous connections and reconfiguration around broken or blocked paths by “hopping” from node to node until the destination is reached. Mesh networks differ from other networks in that the component parts can all connect to each other via multiple hops, and they generally are not mobile devices. In a packet-switching network, a hop is the trip a data packet takes from one router or intermediate node in a network to another node in the network. On the Internet (or a network that uses TCP/IP), the number of hops a packet has taken toward its destination (called the “hop count”) is kept in the packet header.
Wireless mesh networks employ intelligent nodes typically including a wireless (e.g., radio) transmitter and receiver, a power source, input devices, sometimes output devices, and an intelligent controller, such as a programmable microprocessor controller with memory. In the past, wireless mesh networks have been developed having configurations or networks for communication that are static, dynamic or a hybrid of static and dynamic. Power for these networks has been supplied either via wires (i.e., the nodes are “plugged in” or externally powered) or from batteries in each node (i.e., the nodes are internally powered). Networks that employ a combination of externally powered nodes and internally powered nodes can be denoted hybrid networks. As the size, power, and cost of the computation and communication requirements of these devices have decreased over time, battery-powered wireless nodes have gotten smaller; yet, the computing demands on the wireless nodes have increased.
Wireless mesh network technology can be used for deploying sensors as nodes in a variety of different environments for monitoring diverse parameters such as, for example, temperature, pressure, particle counts, and humidity. These types of networks can be denoted wireless sensor networks (WSN). Each sensor in a WSN is typically powered by a battery and therefore has a limited energy supply and operational capability. Because the sensors are constantly monitoring the environment and communicating with other nodes, it is important to efficiently manage the power consumed by each sensing device. Further, it is important to monitor the operational status of each of the sensing devices.
Given that many WSN devices are internally-powered (e.g., battery), the overall network lifetime depends on the efficiency with which sensing, computing, and data transmission by the sensors can be achieved. Because the power requirements for wireless communication by the sensors are orders of magnitude higher than the other sensor operations, it is critical that operation of the radios on these devices be managed carefully. This is primarily achieved by turning the radio on (activating the radio) only when devices need to send and/or receive data. The operational lifetime of the network, thus, depends on the ability to effectively manage the operation of the radios in the wireless network nodes.
The network devices in a WSN must efficiently manage the network topology so that network packets are properly routed to their destination. In order to carry out this task, the WSN network devices must wake up periodically, activate their radios, and listen for a data communication from another network device to determine if any data packet needs to be routed. Most of the battery power in a wireless network device is consumed when the device must wake up more often, turn the radio on, and listen for a data communication from another network device. Thus, the process of data path maintenance and packet routing through wireless devices in a WSN needs to be highly efficient in order to extend the operational lifetime of the network.
Several wireless sensor network solutions depend on a global time synchronization scheme to schedule routing of packets among wireless devices over multiple hops. In these networks, devices have a common notion of a global time, which they use for determining their wake up and sleep schedules. Two network devices communicate by waking up at the same global time, communicating messages to each other, and then turning the radio off (de-activating the radio). This mode of synchronization, often called the low power listening (LPL) mode, allows devices to aggressively conserve their battery power by turning their radio off for the majority of the time.
Network devices manage the notion of global time by mapping a local time reading from the network device resident hardware clocks to a reference global time value. The network devices can receive the reference global time value in several ways: for instance, 1) network devices can receive the reference global time value from other network devices in the network using the wireless network, 2) network devices can directly access a global time from Internet sources, or 3) network devices can use global positioning satellite (GPS) time sources. The hardware clocks in the wireless network devices usually have a drift that causes the local clock readings to deviate away from the global time value. Over time, this deviation can be significant. The hardware clock drifts, therefore, can cause the mapping from a local clock value to a network device's notion of global time value to deviate significantly from the actual global time. Network devices may use some form of drift correction algorithms (for instance, a linear regression algorithm) to predict the possible deviations and correct the mapping between local and global times. This allows a network device's computed global time values to be within a small deviation from the actual global time value.
Nevertheless, network devices in a time-synchronized mesh wireless network may lose time synchronization for several reasons. An example is the case when the network devices (and/or the hardware clock) experience rapid changes in the environmental or other conditions in which they are operating (e.g., temperature). Such rapid changes can result in very large local time drifts. Unfortunately, many drift correction algorithms cannot account for non-linear and very large clock drifts. The calculated global time value, thus, can deviate significantly from the actual global time value. This time deviation can cause the networked devices to lose time synchronization with each other. A network device may also lose time synchronization for a variety of other reasons, such as clock failures, power failures, glitches, or spikes, network device memory failures, data communication failures, radio interference, software/firmware errors, or any other circumstance, condition, or event adversely affecting, potentially causing, or causing a loss of time synchronization between network devices in a time-synchronized mesh wireless network.
A network device's loss of time synchronization with its neighboring nodes means that the network devices may not wake up at the same global time, thereby losing the ability to transmit/receive data through the mesh network. In a particular embodiment of a wireless sensor network, this inability to send sensor data between nodes of the network may be fatal to a data network and devastating to a monitored location, if the monitored location is experiencing rapid environmental changes. For instance, consider the case where wireless network sensors are deployed in a data center. Due to a loss of one or more air conditioning or air handling units, the temperature in the data center may rise very quickly. In this circumstance, the wireless network sensors need to be able to monitor the rise in temperature, and inform the data center operator of the circumstance. If the monitoring wireless network sensors lose time synchronization for any reason at this critical time, the wireless network sensors will not be able to communicate the critical environmental data to the operator, which may result in damage to the data center computing equipment.
U.S. Pat. No. 5,515,369 describes a technology for use in a wireless packet communication system having a plurality of nodes, each having a transmitter and a receiver, the receiver at each node is assigned a seed value and is provided with a channel punchout mask. A node uses its seed value and punchout mask to generate a specific randomly ordered channel hopping band plan on which to receive signals. A node transmits its seed value and punchout mask to target nodes with which it wants to establish communication links, and those target nodes each use the seed value and punchout mask to generate the randomly ordered channel hopping band plan for that node. Subsequently, when one of the target nodes wishes to transmit to the node, the target node changes frequency to the frequency of the node according to that node's band plan.
U.S. Pat. No. 6,590,928 describes a wireless network including master and slave units. The master sends a master address and clock to the slaves. Communication is by means of a virtual frequency hopping channel whose hopping sequence is a function of the master address, and whose phase is a function of the master clock. Transmitted inquiry messages solicit slave address and topology information from the slaves, which may be used to generate a configuration tree for determining a route for a connection between the master and slave units.
U.S. Pat. No. 6,480,497 describes a technology for use in a mesh network communication system, where net throughput is optimized on the link between the communicating nodes by dynamically modifying signal characteristics of the signals transmitted between nodes in response to performance metrics which have been determined from analysis at the receivers for the corresponding links. The signal characteristics can be the data rate, modulation type, on-air bandwidth, etc. The performance metrics are calculated based on data-link on-air characteristics of received signals.
U.S. Patent Application No. 20070258508 describes a method and apparatus for communication in a wireless sensor network. In one embodiment, one or more routers in a network may be available for communication with one or more star nodes at a randomized time and/or frequency. A connectivity assessment, which may be performed at several different frequencies and/or times, may be performed to evaluate the quality of communications between devices in the network. Primary and secondary communication relationships may be formed between devices to provide for system redundancy. One or more proxies may be maintained where each proxy includes a status of one or more devices in the network, e.g., one or more star nodes or routers. Proxies may be used to handle information requests and/or status change requests, e.g., a proxy may be requested to change a communication relationship between devices in the network and may generate command signals to cause the corresponding devices to make the change.
What is needed is a method and system that enables wireless network devices to continue to operate and transmit/receive data even under conditions in which network devices may lose time synchronization. Thus, an apparatus and method for establishing data communication in a time-synchronized mesh wireless network during time synchronization failures are needed.